package com.llb666.e.shop.domain.repository;

import com.llb666.e.shop.api.vo.MyOrdersVo;
import com.llb666.e.shop.api.vo.OrderStatusCountsVo;
import com.llb666.e.shop.domain.entity.OrderStatus;
import com.llb666.e.shop.domain.entity.Orders;
import com.llb666.e.shop.infracore.web.PagedGridResult;

import java.util.List;

/**
 * @author 斌~
 * @date 2022/9/12 下午6:20
 */
public interface OrdersRepository {

    OrderStatusCountsVo getOrderStatusCounts(String userId);

    void updateDeliverOrderStatus(String orderId);

    boolean updateReceiveOrderStatus(String orderId);

    boolean deleteOrder(String userId, String orderId);

    Orders queryMyOrder(String userId, String orderId);

    void updateCommentsStatus(String orderId);

    void insert(Orders order);

    PagedGridResult<MyOrdersVo> queryMyOrderByStatus(String userId, Integer orderStatus,Integer page, Integer pageSize);

    PagedGridResult<OrderStatus> getMyOrderTrend(String userId,Integer page, Integer pageSize);
}
